Recent advances in computer and network technologies have resulted in an increasing number of computer services being offered to an ever-increasing number of potential users of the resources. In a computer network, a computer that provides a service is generally termed a server computer or server, and a computer using the service is generally termed a client computer or client. The client may be any user of the service such as another computer, a computer device, or an application program. Moreover, a server in one context may be a client in another. For example, a computer with a large storage capacity may be a server that offers storage or filing service to clients. The same computer may not have its own printer, and may be a client using a printing service offered by another computer.
The ability to quickly and easily locate computer services is necessary for the efficient use of those services. As the number of services available increases, it becomes more and more time-consuming and computer resource-intensive to search for needed services. Sun Microsystem's Jini™ includes a lookup service, but Jini's™ lookup service does not allow the client to limit the space in which the lookup happens.